Separation of Concerns with Procedures, Annotations, Advice and Pointcuts

نویسندگان

  • Gregor Kiczales
  • Mira Mezini
چکیده

There are numerous mechanisms for separation of concerns at the source code level. Three mechanisms that are the focus of recent attention – metadata annotations, pointcuts and advice – can be modeled together with good old-fashioned procedures as providing different kinds of bindings: procedure calls bind program points to operations, annotations bind attributes to program points; pointcuts bind sets of points to various descriptions of those sets; named pointcuts bind attributes to sets of points; and advice bind the implementation of an operation to sets of points. This model clarifies how the mechanisms work together to separate concerns, and yields guidelines to help developers use the mechanisms in practice.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modular Contracts with Procedures, Annotations, Pointcuts and Advice

There are numerous mechanisms for modularizing design by contract at the source code level. Three mechanisms have been the main focus of attention, metadata annotations, pointcuts and advice. The latter two are well-known aspect-oriented programming mechanisms, and according to the literature, fare better in achieving contract modularization. However, previous efforts aimed at supporting contra...

متن کامل

Accommodating Evolution in AspectJ

The intent of Aspect-Oriented Programming is to encapsulate, reuse, and maintain concerns that crosscut modularization constructs provided in today’s programming languages. As AOP solutions find their way into mainstream software development, complex systems, and libraries designed with aspects will eventually be prevalent. This new code-base will become the legacy code of the future and will b...

متن کامل

Measuring Coupling in Aspect-Oriented Systems

Coupling is an internal software attribute that can be used to indicate the degree of interdependence among the components of a software system. Coupling is thought to be a desirable goal in software construction, leading to better values for external attributes such as maintainability, reusability, and reliability. Aspect-oriented software development (AOSD) is a new technique to support separ...

متن کامل

An Approach for Adequate Testing of AspectJ Programs

Aspect-oriented programming supports the separation of concerns into traditional core concerns and cross-cutting aspects. Aspects typically contain new code fragments that are introduced to the system (such as advice or introductions) and a means of quantification that specifies where these code fragments are to be inserted. This mechanism introduces new sources for program faults, due to error...

متن کامل

An Overview of AspectJ

AspectJTM is a simple and practical aspect-oriented extension to JavaTM. With just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns. In AspectJ’s dynamic join point model, join points are well-defined points in the execution of the program; pointcuts are collections of join points; advice are special method-like constructs that can be...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005